<template>
    <div>
        <n-button @click="choujiang">抽奖</n-button>
    </div>
</template>

<script lang="ts" setup>

// 生成抽奖随机数
const rand = (m: number, n: number): number => {
    return Math.ceil(Math.random() * (n - m + 1)) + m - 1
}
// 抽奖，使用 Promise 封装异步操作，并设置成功或失败的回调方法
const choujiang = () => {
    const p = new Promise((resolve, reject) => {
        setTimeout(() => {
            let n = rand(1, 100)
            console.log(n)
            if (n <= 30) {
                resolve(n);
            } else {
                reject(n);
            }
        }, 1000)
    })
    // 两个形参：value:表示成功的值，reason：表示失败的理由
    p.then((value) => {
        window.$message?.info("恭喜，中奖，中奖数字为: " + value)
    }, (reason) => {
        window.$message?.info("很遗憾，继续努力！当前抽中数字为：" + reason)
    })
}

</script>

<style></style>
